package com.team.cloudsharing.dao.file;

import java.util.List;

import com.team.cloudsharing.dao.folder.FolderDO;
import com.team.cloudsharing.dao.user.UserDO;

public interface FileDAO {
	
	public long insertFile(FileDO fileDO);

	public FileDO findFileById(long fileId);
	
	public FileDO findFileByFileUrl(String fileUrl);
	
	public FileDO findFileByFileNameInFolder(String fileName, FolderDO folderDO);

	public long updateFile(FileDO fileDO);

	public boolean deleteFile(long fileId);

	public List<FileDO> findAllFileInFolder(FolderDO folderDO, String trashStatus);

	public List<FileDO> findFileByFileNameAndUserId(String fileName, UserDO userDO);

	public List<FileDO> findAllImagesInFolder(FolderDO folderDO, String trashStatus, long offset);

	public List<FileDO> findAllFileByFileNamePatternInFolder(String fileNamePattern, FolderDO folderDO);
}
